package edu.westga.movierec.model;

public interface RecInterface {

	/**
	 * Returns a recommendation based on
	 * a user's movie choice
	 * <p>
	 * Precondition: userID > 0 && getmovieIndex(movieTitle) != 0
	 * 
	 * @return: the title of the recommended movie
	 */
	public abstract String recommend(int userID, String movieTitle);

	//*****************Database Response Handlers******************
	/**
	 * Increase the rating of a movie by one point if the user liked it
	 * <p>
	 * Precondition: getMovieIndex(input) != 0 && getMovieIndex(output) != 0
	 * <p>
	 * Postcondition: getMovieRating(input,output) == getMovieRating(input,output)@pre+1
	 */
	public abstract void userLiked(String input, String output);

	/**
	 * Decrease the rating of a movie by one point if the user hated it
	 * <p>
	 * Precondition: getMovieIndex(input) != 0 && getMovieIndex(output) != 0
	 * <p>
	 * Postcondition: getMovieRating(input,output) == getMovieRating(input,output)@pre-1
	 */
	public abstract void userHated(String input, String output);
	/**
	 * Resets a user's history by deleting all the user's rows
	 * from the history table
	 * <p>
	 * Precondition: none
	 * <p>
	 * Postcondition: history.user != userID
	 */
	public abstract void resetUser(int userID);
}